"""
js逆向的三种方式：
1、复制js源码，交给python执行(补充js环境，速度快，难度中等耗时中等)
2、解读js源码，用python实现相同的功能(速度快，不需要补环境，难度较高耗时较长)
3、改写js源码，用自动化与python调用改写后的源码内容，从而调用源码加密函数完成加密操作，模拟(不需要补环境，难度低，耗时短，速度慢)

"""

#python执行js  需要先下载node.js 作为解释器  来执行js代码
import execjs

print(execjs.get().name)

#用三引号来保存js代码文件
js_data = """
function test(a,b){
    return a + b;    
}
"""

js = execjs.compile(js_data)    #js代码文件交给execjs第三方库进行解析
res = js.call('test', 2, 3)     #用call方法调用test函数并且传入参数 2 ,3
print(res)